package com.sihai.ehr.model.biz;

import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.OneToOne;

import com.sihai.core.BaseEntity;
import com.sihai.ehr.model.sys.ExaminePeriodEnum;

/**
 * 考核基础配置
 * 
 * @author henry
 * 
 */
@Entity
public class ExamBaseConfig extends BaseEntity<Long> {

	/**
	 * 
	 */
	private static final long serialVersionUID = 2824028135641787872L;

	@Id
	@GeneratedValue(strategy = GenerationType.AUTO)
	private Long id;

	/**
	 * 职务ID
	 */
	@OneToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "duty_id")
	private Duty duty;

	/** 定性百分比率 */
	private Float percentageQualitative;

	/** 定量百分比率 */
	private Float percentageQuantitative;

	/** 完成百分比率 */
	private Float percentageFinish;

	/** 绩效考核占用百分比 */
	private Float percentagePerformance;
	/** 考核周期类型 */
	@Enumerated(EnumType.STRING)
	private ExaminePeriodEnum periodType;

	/** 考核周期计算方式 */
	private int periodMode;

	/** 是否删除 */
	private boolean cancel;

	@Override
	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public Duty getDuty() {
		return duty;
	}

	public void setDuty(Duty duty) {
		this.duty = duty;
	}

	public Float getPercentageQualitative() {
		return percentageQualitative;
	}

	public void setPercentageQualitative(Float percentageQualitative) {
		this.percentageQualitative = percentageQualitative;
	}

	public Float getPercentageQuantitative() {
		return percentageQuantitative;
	}

	public void setPercentageQuantitative(Float percentageQuantitative) {
		this.percentageQuantitative = percentageQuantitative;
	}

	public Float getPercentageFinish() {
		return percentageFinish;
	}

	public void setPercentageFinish(Float percentageFinish) {
		this.percentageFinish = percentageFinish;
	}

	public Float getPercentagePerformance() {
		return percentagePerformance;
	}

	public void setPercentagePerformance(Float percentagePerformance) {
		this.percentagePerformance = percentagePerformance;
	}

	public ExaminePeriodEnum getPeriodType() {
		return periodType;
	}

	public void setPeriodType(ExaminePeriodEnum periodType) {
		this.periodType = periodType;
	}

	public int getPeriodMode() {
		return periodMode;
	}

	public void setPeriodMode(int periodMode) {
		this.periodMode = periodMode;
	}

	public boolean isCancel() {
		return cancel;
	}

	public void setCancel(boolean cancel) {
		this.cancel = cancel;
	}
}
